package com.settlement.system.common.constant;

/**
 * 系统常量
 *
 * @author haoxr
 * @since  2022/10/22
 */
public interface SystemConstants {

    /**
     * 根节点ID
     */
    Long ROOT_NODE_ID = 0L;


    /**
     * 系统默认密码
     */
    String DEFAULT_PASSWORD = "123456";

    /**
     * 超级管理员角色编码
     */
    String ROOT_ROLE_CODE = "ROOT";

    /**
     * 管理员角色编码
     */
    String ADMIN_ROLE_CODE = "ADMIN";
    String BILL_TYPE_KEY = "billType";
    // 字段配置
    String COLUMN_CONFIG = "COLUMN_CONFIG";

    /**
     * 基础字段配置KEY前缀
     */
    String BASE_COLUMN_CONFIG_PREFIX = "BASE_COLUMN_CONFIG:";

    /**
     * 账单字段配置KEY前缀
     */
    String BILL_COLUMN_CONFIG_PREFIX = "BILL_COLUMN_CONFIG:";

    /**
     * 账单字段符合条件配置KEY前缀 第一个%s是matchId，第二个%s是类型 基础字段还是账单字段
     */
    String BILL_COLUMN_CONDITION_PREFIX = "BILL_COLUMN_CONDITION:%s:%s";

    /**
     * 字段合并配置KEY前缀
     */
    String BILL_COLUMN_APPEND_PREFIX = "BILL_COLUMN_APPEND:";

    /**
     * 店铺KEY前缀
     */
    String STORE_CACHE_PREFIX = "STORE:";

    /**
     * 字典KEY前缀
     */
    String DICT_CACHE_PREFIX = "DICT:";

    /**
     * 科目KEY前缀
     */
    String SUBJECTS_PREFIX = "SUBJECTS:";

    /**
     * 商场KEY前缀
     */
    String MALL_PREFIX = "MALL:%s";

    /**
     * 入账主体KEY前缀
     */
    String COMPANY_PREFIX = "COMPANY:%s";

    /**
     * 记账项目规则KEY前缀 第一个%s是商场，第二个%s是原始账单项目名称
     */
    String ACCOUNTING_PROJECT = "ACCOUNTING_PROJECT:%s:%s";

    String ACT_REC_PAY = "实际应收/付金额";
    String FEE = "费用";
    String CH = "抽成/保底租金";
    String XF = "欠费";
    String SALES_INCOME = "销售收入";
    String CASHIERING_TYPE = "cashieringType";
    String INVOICE_FEE = "开票金额";
    String INCOME_FEE = "收票金额";
    String SALE_FEE = "销售金额";

    String BILL_DATE = "结算日期";
    String BILL_TYPE = "数字";

}
